<?php

/**
 * @package SimpleSiteInstaller
 * @author  Zanuda
**/

error_reporting(E_ALL);
ini_set('display_errors', 1);

function Install($aVariables){
	file_put_contents('config.json', json_encode($aVariables));
	return true;
}

function pass_min($mValue){
	return (6 > strlen($mValue)) ? true : false;
}

function pass_max($mValue){
	return (32 < strlen($mValue)) ? true : false;
}

require 'install/installer.class.php';

$oInstaller = new Installer('Установка SimpleCMS');
$oInstaller->Assign('dir', '/install');

$sStep = (!empty($_GET['step'])) ? $_GET['step'] : 'start';

if(in_array($sStep, array('form', 'finish')))
{
	$oInstaller->SetColumns(array('MySQL', 'Администратор', 'Сайт'));
	$oInstaller->AddField('db_server', 'Сервер', 'input.text', 0);
	$oInstaller->AddField('db_base', 'База', 'input.text', 0);
	$oInstaller->AddField('db_user', 'Пользователь', 'input.text', 0);
	$oInstaller->AddField('db_password', 'Пароль', 'input.password', 0, false, true);
	$oInstaller->AddField('db_prefix', 'Префикс', 'input.text', 0);
	$oInstaller->AddField('admin_name', 'Имя', 'input.text', 1);
	$oInstaller->AddField('admin_mail', 'Почта', 'input.text', 1);
	$oInstaller->AddField('admin_password', 'Пароль', 'input.password', 1, true, true);
}

if(('finish' == $sStep))
{
	$oInstaller->AddCheck('admin_password', 'pass_min', 'Минимальная длинна 6 символов');
	$oInstaller->AddCheck('admin_password', 'pass_max', 'Максимальная длинна 32 символа');
	if($oInstaller->Check())
		$sStep = 'form';
}

switch($sStep)
{
	case 'finish':
		$oInstaller->SetFormAction('?step=start');
		$oInstaller->Install('Install');
		$oInstaller->DisplayForm('finish');
		break;
	case 'form':
		$oInstaller->SetFormAction('?step=finish');
		$oInstaller->DisplayForm('form');
		break;
	case 'start':
		$oInstaller->SetFormAction('?step=form');
		$oInstaller->DisplayForm('start');
		break;
}

?>